1. Field of the Invention
This invention relates to the design of integrated circuits, and more particularly to the design and analysis of an integrated circuit floor plan.
2. Description of Related Art
Microelectronic integrated circuits (ICs), such as computer chips, are used in a variety of products including personal computers, automobiles, communication systems, and consumer electronics products. As modern day ICs become increasingly more powerful, their internal circuitry become increasingly more complex. A present day IC usually contains millions of microscopic circuit structures such as transistors, resistors, and capacitors on a small silicon die or core. Typically, the entire silicon core is encapsulated in plastic or ceramic, with a number of lead pins exposed to the outside world.
Power is generally supplied to the IC through one or more of these lead pins. Bond wires typically conduct the power from the lead pins to power pad cells located on the core. The power pad cells connect to a power-bus grid comprising of thin metal wires which route power to IC structures throughout the core. A power-bus grid is typically constructed on several vertical layers, with the number of layers dependent on the IC fabrication technology used. All the power-bus wires are generally routed running parallel to either the width (horizontally-oriented wires) or the length (vertically-oriented wires) of the core. Power-bus layers are usually named Metal 1, Metal 2, Metal 3, and so on, with Metal 2 located above Metal 1, Metal 3 located above Metal 2, and so on. Generally, each layer is connected to the layer immediately above it by metal plugs or vias which run between intersecting wire lines. The power-bus grid is typically connected to the rest of the IC structures with plugs or contacts running from the Metal 1 bus lines to the IC transistors.
One of the main factors helping to increase the performance and complexity of modern ICs is the use of Computer-Aided Design (CAD) tools during the IC design process. In addition to simplifying the design process, CAD tools can help speed up the development time of an IC by automating much of the design process. This decreases the time and cost necessary to develop an IC and helps the designer create more competitive products in the market.
A typical IC design process begins with a design specification. The specification is set by the goals and limitations of the design project. For example, a design application specified for use in a portable device may require the IC to operate using a low voltage power supply. Generally, the specification helps the designer determine the IC fabrication technology, supply voltage, and core size needed to implement the design.
Next, an abstract representation of the circuit is created by the designer. Circuit abstraction helps the designer focus on the behavioral aspects of the design without having to worry about low-level circuit theory and device physics details. Designers typically work in a top-down methodology, starting with a behavioral description and working down to more detailed register, gate, and switch levels of abstraction. Designers generally use a Hardware Description Language (HDL) such as VHDL to abstract the circuitry of an IC. HDL is similar to a high level programming language and typically includes libraries containing a set of circuit components supported by the targeted fabrication process. This helps ensure the HDL code written can be converted to a real-life product.
The abstracted code is generally converted into a database listing or a circuit netlist. A netlist is typically a list of individual circuit components with a description of the connections between their inputs and outputs. Since the netlist is produced from a behavioral description of the circuitry, it does not include information relating to the physical position of the circuit structures in the circuit. Therefore, information such as the distance of power-bus wires connecting to the circuit structures is usually not contained in the netlist.
The netlist is generally input to a simulator which performs a pre-layout simulation of the circuit design. Simulation permits the designer to test whether a particular design works before it is built. By using mathematical models for physical devices, a simulator can provide simulated output results for circuit designs. By comparing the simulation results with the expected simulation output, the designer can make sure the design works before actually building the IC. If the simulation results do not conform to the original design objectives, the designer can return to the HDL code and adjust the design accordingly. The designer may also use a simulator to compare several design approaches to each other and find the most favorable design approach.
Since the physical layout of the circuit is not specified in the netlist, ideal power-bus grid wires are typically assumed during the pre-layout simulation. Thus, the resistance of the wires supplying current to the IC is generally not taken into account by the simulator. Although the pre-layout simulation tests the circuit's operation in ideal, rather than real-life conditions, the simulation results are still useful as an initial test of the circuit's operation.
When the designer is satisfied with the pre-layout simulation results, it is time to layout the design physically on the IC silicon core. Layout tools help the designer map the individual circuit structures to physical locations on the IC core. In addition, layout tools help route a power-bus grid which supplies power to the IC core. Layout tools typically contain libraries with information regarding the physical and geometrical properties of the circuit structures created during the fabrication process. Using place-and-route algorithms, the layout tools “seed” the circuit structures along the power-bus grid.
Once the IC layout is completed, the layout tools back-annotate the original netlist with additional structural data such as parasitic resistance and capacitance values, as well as power-bus wire resistance parameters. The back-annotated netlist is then run through a post-layout simulation to ensure proper functionality. Post-layout simulation is expected to represent the IC's true performance, rigorously testing the actual loading of the circuits and power-bus lines. Post-layout simulation usually requires a long time to complete, typically taking several days to finish. Results from this simulation can reveal problems such as excessive power-bus voltage drop and electromigration, which are generally not discoverable during pre-layout simulation.
Voltage drop problems are a result of a large drop in voltage across a wire conducting an electric current. The amount of voltage drop across a wire is proportional to the amount of current the wire is conducting and the wire's internal resistance. One factor affecting a wire's resistance is its cross-sectional area. As the cross-sectional area of a wire is made smaller, the wire's resistance increases, causing a larger drop in voltage. A large voltage drop across a power-bus wire can cause a lower than desired level of voltage at a particular point in the IC. When this low voltage is used to supply power to a transistor, the transistor's output response time to a change in input signal generally slows down. This skews circuit timings and may lead to IC malfunctions if time critical operations are not performed when expected. If the voltage drop across the power-bus wire is even more severe, the logic errors may occur and the entire IC may not operate as expected.
Electromigration is caused when electrons flowing through a wire randomly collide into the atoms of the wire, “carrying” the atoms along their path and causing wire deterioration, much like ocean currents carry beach sand and cause beach erosion. Electromigration is generally most pronounced in thin wires with a relatively large amount of current flow (high current density). Electromigration causes a gradual thinning out of the wire, thereby exacerbating the electromigration problem even more and creating a positive feedback effect. Electromigration typically leads to voltage drop across a wire, and eventually to a break in the wire.
One drawback of discovering voltage drop and electromigration problems after post-layout simulation relates to the amount of time required for the simulation to complete. There are often strong market pressures to design and manufacture a new IC in a very short time. Finding voltage drop and electromigration problems after post-layout simulation requires the designer to change the IC floor plan and re-run the layout and simulation tools. Such problems may add days, if not weeks to the design cycle time and can significantly decrease a product's competitive advantage. In addition, the post-layout simulation time makes testing and comparing several different power-bus grid designs extremely time consuming.
One solution in the prior art of avoiding voltage drop and electromigration problems is to use very conservative power estimates when designing the power-bus grid. Designers typically multiply the amount of current estimated to flow through the power-bus grid by a cushioning factor to avoid voltage drop and electromigration problems. These conservative estimates generally result in power-bus wire widths which are significantly thicker than actually necessary to supply power throughout the IC core.
A drawback of over-estimating circuit power requirements is a sub-optimal use of the IC's available silicon core space. Since each component and wire within an IC takes up room on the silicon core, IC designers typically try to decrease the size of these components and wires so that ever more powerful circuits can be constructed in the IC core. Having more room on the IC core allows designers to add more circuit components and increase the IC's functionality. Thus, power-bus wires designed thicker than actually needed tend to waste valuable room on the IC.
It is against this back ground and the problems of the prior art that the present invention has been developed, as described in more detail below.